Ext.namespace('Ext.addpayClass');
Ext.addpayClass.isTaxStatus = [['1', '是'], ['0', '否']];
Ext.addpayClass.isDisplay = [['0', '本月'], ['-1', '上月']];
Ext.addpayClass.dataComeStore = [['0', '固定值'], ['1', '输入'], ['2', '系统参数'],
		['3', '公式'], ['4', '上月数据'], ['9', '其他']];
Ext.addpayClass.precisionStatus = [['0', '0位小数'], ['1', '1位小数'], ['2', '2位小数'],
		['3', '3位小数'], ['4', '4位小数'], ['5', '5位小数']];
Ext.addpayClass.isDisplayStore = [['0', '显示'], ['1', '不显示']];
Ext.addpayClass.isAddStore = [['0', '增项'], ['1', '减项'], ['2', '其他']];
Ext.addpayClass.bonusOptionStore = [['1', '年终奖金'], ['0', '年底双薪'], ['-1', '  ']];
Ext.addpayClass.systemDataStore = [['0', '应该显示系统函数']];
Ext.addpayClass.functiontype = [['1', '基础类'], ['2', '社保类'], ['3', '薪资类']];

var deletedJson = [];
/**
 * 计算公式界面
 */
var computingFormulaWin;

function addPayClassItemWin() {
	computingFormulaWin = computingFormula();

	/**
	 * 是否税前计算下拉框
	 */
	var isTaxCombox = new Ext.form.ComboBox({
				fieldLabel : '<image src="' + basePath
						+ 'images/must.gif"/>是否税前计算',
				hiddenName : 'payClassitem.in_tax',
				id : 'in_tax',
				store : new Ext.data.SimpleStore({
							fields : ['key', 'value'],
							data : Ext.addpayClass.isTaxStatus
						}),
				valueField : 'key',
				displayField : 'value',
				typeAhead : true,
				mode : 'local',
				triggerAction : 'all',
				emptyText : '请选择...',
				selectOnFocus : true,
				anchor : '90%',
				allowBlank : false,
				blankText : '是否税前计算不能为空'
			});

	/**
	 * 小数位数下拉框
	 */
	var precisionCombox = new Ext.form.ComboBox({
				fieldLabel : '<image src="' + basePath
						+ 'images/must.gif"/>小数位数',
				hiddenName : 'payClassitem.precision',
				id : 'precision',
				store : new Ext.data.SimpleStore({
							fields : ['key', 'value'],
							data : Ext.addpayClass.precisionStatus
						}),
				valueField : 'key',
				displayField : 'value',
				typeAhead : true,
				mode : 'local',
				triggerAction : 'all',
				emptyText : '请选择...',
				selectOnFocus : true,
				anchor : '90%',
				allowBlank : false,
				blankText : '小数位数不能为空'
			});

	/**
	 * 数据来源下拉框
	 */
	var dataComeCombox = new Ext.form.ComboBox({
				fieldLabel : '<image src="' + basePath
						+ 'images/must.gif"/>数据来源',
				hiddenName : 'payClassitem.data_come',
				id : 'data_come',
				store : new Ext.data.SimpleStore({
							fields : ['key', 'value'],
							data : Ext.addpayClass.dataComeStore
						}),
				displayField : 'value',
				typeAhead : true,
				valueField : 'key',
				mode : 'local',
				triggerAction : 'all',
				selectOnFocus : true,
				emptyText : '请选择...',
				readOnly : true,
				anchor : '90%',
				allowBlank : false,
				blankText : '数据来源不能为空',
				listeners : {
					"select" : function() {
						var v = Ext.getCmp("data_come").getValue();
						if (v == '0') {
							Ext.getCmp("fixedData").enable();
							Ext.getCmp("lastMonth").disable();
							Ext.getCmp("lastMonth").setValue('');
							Ext.getCmp("other").disable();
							Ext.getCmp("other").setValue('');
							Ext.getCmp("functiontype").reset();
							Ext.getCmp("functiontype").disable();
							Ext.getCmp("functionitem").reset();
							Ext.getCmp("functionitem").disable();
							Ext.getCmp('gongshi').disable();
							Ext.getCmp('sysGrid').getStore().removeAll();
							Ext.getCmp('sysGrid').disable();
						}
						if (v == "3") {
							Ext.getCmp('gongshi').enable();
							Ext.getCmp("fixedData").disable();
							Ext.getCmp("fixedData").setValue('');
							Ext.getCmp("lastMonth").disable();
							Ext.getCmp("lastMonth").setValue('');
							Ext.getCmp("other").disable();
							Ext.getCmp("other").setValue('');
							Ext.getCmp("functiontype").reset();
							Ext.getCmp("functiontype").disable();
							Ext.getCmp("functionitem").reset();
							Ext.getCmp("functionitem").disable();
							Ext.getCmp('sysGrid').getStore().removeAll();
							Ext.getCmp('sysGrid').disable();
						}
						if (v == "4") {
							Ext.getCmp("lastMonth").enable();
							Ext.getCmp("fixedData").disable();
							Ext.getCmp("fixedData").setValue('');
							Ext.getCmp("other").disable();
							Ext.getCmp("other").setValue('');
							Ext.getCmp("functiontype").reset();
							Ext.getCmp("functiontype").disable();
							Ext.getCmp("functionitem").reset();
							Ext.getCmp("functionitem").disable();
							Ext.getCmp('gongshi').disable();
							Ext.getCmp('sysGrid').getStore().removeAll();
							Ext.getCmp('sysGrid').disable();
						}
						if (v == "9") {
							Ext.getCmp("other").enable();
							Ext.getCmp("fixedData").disable();
							Ext.getCmp("fixedData").setValue('');
							Ext.getCmp("lastMonth").disable();
							Ext.getCmp("lastMonth").setValue('');
							Ext.getCmp("functiontype").reset();
							Ext.getCmp("functiontype").disable();
							Ext.getCmp("functionitem").reset();
							Ext.getCmp("functionitem").disable();
							Ext.getCmp('gongshi').disable();
							Ext.getCmp('sysGrid').getStore().removeAll();
							Ext.getCmp('sysGrid').disable();
						}
						if (v == "2") {
							Ext.getCmp("functiontype").enable();
							Ext.getCmp('sysGrid').enable();
							Ext.getCmp("fixedData").disable();
							Ext.getCmp("fixedData").setValue('');
							Ext.getCmp("lastMonth").disable();
							Ext.getCmp("lastMonth").setValue('');
							Ext.getCmp("other").disable();
							Ext.getCmp("other").setValue('');
							Ext.getCmp('gongshi').disable();
						}
						if (v == "1") {
							Ext.getCmp("functiontype").enable();
							Ext.getCmp("fixedData").disable();
							Ext.getCmp("fixedData").setValue('');
							Ext.getCmp("lastMonth").disable();
							Ext.getCmp("lastMonth").setValue('');
							Ext.getCmp("other").disable();
							Ext.getCmp("other").setValue('');
							Ext.getCmp('gongshi').disable();
							Ext.getCmp('sysGrid').getStore().removeAll();
							Ext.getCmp('sysGrid').disable();
						}
					}
				}
			});

	/**
	 * 对应数据月下拉框
	 */
	var payAtMonthCombox = new Ext.form.ComboBox({
				fieldLabel : '对应数据月',
				hiddenName : 'payClassitem.month',
				id : 'month',
				store : new Ext.data.SimpleStore({
							fields : ['key', 'value'],
							data : Ext.addpayClass.isDisplay
						}),
				displayField : 'value',
				typeAhead : true,
				valueField : 'key',
				mode : 'local',
				triggerAction : 'all',
				selectOnFocus : true,
				emptyText : '请选择...',
				readOnly : true,
				anchor : '90%'
			});

	/**
	 * 增减项属性下拉框
	 */
	var isAddCombox = new Ext.form.ComboBox({
				fieldLabel : '<image src="' + basePath
						+ 'images/must.gif"/>增减项属性',
				hiddenName : 'payClassitem.is_add',
				id : 'is_add',
				store : new Ext.data.SimpleStore({
							fields : ['key', 'value'],
							data : Ext.addpayClass.isAddStore
						}),
				displayField : 'value',
				typeAhead : true,
				valueField : 'key',
				mode : 'local',
				triggerAction : 'all',
				selectOnFocus : true,
				emptyText : '请选择...',
				readOnly : true,
				anchor : '90%',
				allowBlank : false,
				blankText : '增减项属性不能为空'
			});

	/**
	 * 函数类别下拉框
	 */
	var functiontype = new Ext.form.ComboBox({
				fieldLabel : '函数类别',
				hiddenName : 'payClassitem.functiontype',
				id : 'functiontype',
				store : new Ext.data.SimpleStore({
							fields : ['key', 'value'],
							data : Ext.addpayClass.functiontype
						}),
				displayField : 'value',
				typeAhead : true,
				valueField : 'key',
				mode : 'local',
				triggerAction : 'all',
				selectOnFocus : true,
				emptyText : '请选择...',
				disabled : true,
				anchor : '90%',
				width : 290,
				listeners : {
					select : function(combo, record, index) {
						if (functiontype.getValue() == 2) {
							Ext.getCmp('AddPayClassItemSearchPanel').findById('month').setValue(Ext.getCmp('payClassItemSearchPanel').findById('_si_shift').getValue());
							Ext.getCmp('AddPayClassItemSearchPanel').findById('month').disable();
							functionitem.enable();
							functionitemStore = functionitem.getStore();
							functionitemStore.baseParams = {
								'filter.functionType' : functiontype
										.getValue(),
								'flag' : 1,
								'start' : 0,
								'limit' : pageSize
							}
							functionitemStore.reload();
							sysStore.removeAll();
						} else {
							Ext.getCmp('AddPayClassItemSearchPanel').findById('month').setValue('');
							Ext.getCmp('AddPayClassItemSearchPanel').findById('month').enable();
							functionitem.reset();
							functionitem.disable();
							sysGrid.enable();
							sysStore.baseParams = {
								'filter.functionType' : functiontype
										.getValue(),
								'flag' : 1
							}
							sysStore.load({
										params : {
											'start' : 0,
											'limit' : pageSize
										}
									});
						}
					}
				}
			});

	/**
	 * 函数分类下拉框
	 */
	var functionitem = new Ext.form.ComboBox({
		fieldLabel : '函数分类',
		hiddenName : 'payClassitem.functionitem',
		id : 'functionitem',
		width : 290,
		store : new Ext.data.Store({
					proxy : new Ext.data.HttpProxy({
								url : 'pbSysfunctionAction.action'
							}),
					reader : new Ext.data.JsonReader({
								root : 'result.result',
								id : 'function_id'
							}, [{
										name : 'function_id',
										mapping : 'function_id'
									},{
										name : 'function_code',
										mapping : 'function_code'
									}, {
										name : 'function_name',
										mapping : 'function_name'
									}, {
										name : 'function_class',
										mapping : 'function_class'
									}])
				}),
		displayField : 'function_name',
		typeAhead : true,
		valueField : 'function_id',
		mode : 'local',
		triggerAction : 'all',
		selectOnFocus : true,
		emptyText : '请选择...',
		disabled : true,
		anchor : '90%',
		listeners : {
			select : function(combo, record, index) {
				sysGrid.enable();
				var _function_class = '';
				if (record.data.function_class != null) {
					_function_class = record.data.function_class;
				}
				sysStore.baseParams = {
					'filter.functionType' : functiontype.getValue(),
					'filter.socialFunType' : record.data.function_code,
					'filter.functionClass' : _function_class,
					'flag' : 2
				}
				sysStore.load({
							params : {
								'start' : 0,
								'limit' : pageSize
							}
						});
			}
		}
	});

	/**
	 * 奖金选项下拉框
	 */
	var bonusOptionCombox = new Ext.form.ComboBox({
				fieldLabel : '奖金选项',
				hiddenName : 'payClassitem.bonus_option',
				id : 'bonus_option',
				store : new Ext.data.SimpleStore({
							fields : ['key', 'value'],
							data : Ext.addpayClass.bonusOptionStore
						}),
				displayField : 'value',
				typeAhead : true,
				valueField : 'key',
				mode : 'local',
				triggerAction : 'all',
				selectOnFocus : true,
				emptyText : '请选择...',
				readOnly : true,
				anchor : '90%'
			});
	// 系统函数---------------------------------------------------------------------------------------------------------------------------
	sysStore = new Ext.data.Store({
				url : 'pbSysfunctionAction.action',
				reader : new Ext.data.JsonReader({
							root : 'result.result',
							id:'function_codememo1',
							totalProperty : 'result.totalCount'
						}, [{
								name : 'function_codememo1',
								mapping : 'function_codememo1'
							},{
								name : 'function_code',
								mapping : 'function_code'
							}, {
								name : 'function_name',
								mapping : 'function_name'
							}, {
								name : 'segment_order',
								mapping : 'segment_order'
							}, {
								name : 'memo',
								mapping : 'memo'
							}, {
								name : 'memo1',
								mapping : 'memo1'
							}, {
								name : 'in_tax',
								mapping : 'in_tax'
							}, {
								name : 'is_add',
								mapping : 'is_add'
							}])
			});

	function in_tax(val) {
		if (val == '0') {
			return '是';
		} else if (val == '1') {
			return '否';
		}
		return val;
	}
	function is_add(val) {
		if (val == '0') {
			return '增项';
		} else if (val == '1') {
			return '减项';
		} else if (val == '2') {
			return '其他';
		}
		return val;
	}
	var syssm = new Ext.grid.CheckboxSelectionModel();
	var syscm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), syssm, {
				header : 'ID',
				dataIndex : 'function_codememo1',
				hidden : true
			},{
				header : '函数编码',
				dataIndex : 'function_code'
			}, {
				header : '函数名称',
				dataIndex : 'function_name'
			}, {
				header : 'segment_order',
				dataIndex : 'segment_order',
				hidden : true
			}, {
				header : '说明',
				dataIndex : 'memo'
			}, {
				header : 'memo1',
				dataIndex : 'memo1',
				hidden : true
			}, {
				header : '是否计税',
				dataIndex : 'in_tax',
				width : 60,
				renderer : in_tax
			}, {
				header : '增减项属性',
				dataIndex : 'is_add',
				width : 60,
				renderer : is_add
			}]);
	var sysGrid = new Ext.grid.GridPanel({
				id : 'sysGrid',
				height : 170,
				width : 420,
				trackMouseOver : true,
				stripeRows : true,
				autoScroll : true,
				disabled : true,
				hideCollapseTool : true,
				collapsible : true,
				titleCollapse : true,
				bufferResize : true,
				loadMask : true,
				bbar : new Ext.PagingToolbar({
							pageSize : pageSize,
							store : sysStore,
							displayInfo : true,
							displayMsg : '显示第{0}条到{1}条记录，一共{2}条',
							emptyMsg : '没有记录'
						}),
				sm : syssm,
				cm : syscm,
				store : sysStore,
				loadMask : true,
				loadMask : {
					msg : '正在加载数据...'
				}
			});
	sysGrid.addListener('rowclick', sysrowdblclickFn);
	function sysrowdblclickFn(grid, rowIndex, e) {
		Ext.getCmp('in_tax').setValue(grid.getStore().getAt(rowIndex)
				.get('in_tax'));
		Ext.getCmp('is_add').setValue(grid.getStore().getAt(rowIndex)
				.get('is_add'));
		Ext.getCmp('segment1').setValue(grid.getStore().getAt(rowIndex)
				.get('function_code'));
		Ext.getCmp('segment2').setValue(grid.getStore().getAt(rowIndex)
				.get('memo1'));
		Ext.getCmp('segment_order').setValue(grid.getStore().getAt(rowIndex)
				.get('segment_order'));
		Ext.getCmp('functionmemo1').setValue(grid.getStore().getAt(rowIndex)
				.get('function_codememo1'));
	}
	// -----------------------------------------------------------------------------------------------------------------------------------
	/**
	 * 开始日期和终止日期的grid
	 */

	var store = new Ext.data.Store({
				pruneModifiedRecords : true,
				proxy : new Ext.data.MemoryProxy(Ext.util.JSON.decode("[]")),
				// url : 'socialItem!queryPbSocialDetailResult.action',
				reader : new Ext.data.JsonReader({
							totalProperty : 'total'
						}, [{
									name : 'pay_classitem_id',
									mapping : "pay_classitem_id"
								}, {
									name : 'start_date',
									mapping : "start_date"
								}, {
									name : 'end_date',
									mapping : 'end_date'
								}])
			});
	var record = Ext.data.Record.create([{
				name : 'pay_classitem_id',
				type : "string"
			}, {
				name : 'start_date',
				type : 'string'
			}, {
				name : 'end_date',
				type : 'string'
			}]);

	var addAction = new Ext.Action({
				text : '新增',
				handler : function() {
					var initValue = {
						pay_classitem_id : '',
						start_date : '',
						end_date : ''
					};
					var p = new record(initValue);
					// alert(Ext.encode(p));
					dateGrid.stopEditing();
					store.insert(0, p);
					dateGrid.startEditing(0, 2);
					dateGrid.view.refresh();
					p.dirty = true;
					p.modified = initValue;
					if (store.modified.indexOf(p) == -1) {
						store.modified.push(p);
					}
				}
			});

	var delAction = new Ext.Action({
				text : '删除',
				handler : function() {
					var length = dateGrid.getSelectionModel().getSelections().length;
					if (length > 0) {
						Ext.MessageBox.show({
									title : '提示',
									msg : '您选中了' + length + '条记录进行删除,请问您确认吗?',
									buttons : Ext.MessageBox.OKCANCEL,
									fn : function(btn) {
										if (btn == "ok") {
											var rs = dateGrid
													.getSelectionModel()
													.getSelections();
											for (var i = 0; i < length; i++) {
												/*
												 * if
												 * (rs[i].data.pay_classitem_id !=
												 * "") { deletedJson
												 * .push(rs[i].data); }
												 */
												store.remove(store
														.getById(rs[i].id));
											};
										}
										if (btn == "cancel") {
											return;
										}
									}
								});
					} else {
						Ext.Msg.alert('警告', '请选择需要删除的记录.');
					}
				}
			});

	var sm = new Ext.grid.CheckboxSelectionModel();
	var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {
				header : '开始日期',
				dataIndex : 'start_date',
				width : 150,
				editor : new Ext.form.DateField({
							format : 'Y-m-d'
						}),
				renderer : function(value, p, record) {
					if (value && typeof(value) == 'object') {
						return Ext.util.Format.date(value, 'Y-m-d');
					}
					return value;
				}
			}, {
				header : '终止日期',
				dataIndex : 'end_date',
				width : 150,
				editor : new Ext.form.DateField({
							format : 'Y-m-d'
						}),
				renderer : function(value, p, record) {
					if (value && typeof(value) == 'object') {
						return Ext.util.Format.date(value, 'Y-m-d');
					}
					return value;
				}

			}]);

	var dateGrid = new Ext.grid.EditorGridPanel({
				height : 160,
				disabled : true,
				anchor : '100%',
				id : 'dateGrid',
				tbar : [addAction, delAction],
				store : store,
				clicksToEdit : 1,
				cm : cm,
				sm : sm,
				loadMask : true,
				loadMask : {
					msg : '正在加载数据...'
				}
			});

	var segment1 = new Ext.form.Hidden({
				name : 'payClassitem.segment1',
				id : 'segment1',
				value:''
			})
	var segment2 = new Ext.form.Hidden({
				name : 'payClassitem.segment2',
				id : 'segment2'
			})
	var segment_order = new Ext.form.Hidden({
				name : 'payClassitem.segment_order',
				id : 'segment_order'
			})
	var formula_tmp1 = new Ext.form.Hidden({
				name : 'payClassitem.formula_tmp1',
				id : 'formula_tmp1'
			})
	var is_valid = new Ext.form.Hidden({
				name : 'payClassitem.is_valid',
				id : 'is_valid',
				value : ''
			})
	var functionmemo1 = new Ext.form.Hidden({
				name : 'payClassitem.functionmemo1',
				id : 'functionmemo1',
				value : ''
			})
	var AddPayClassItemSearchPanel = new Ext.form.FormPanel({
		frame : true,
		buttonAlign : 'right',
		id : 'AddPayClassItemSearchPanel',
		// bodyStyle : 'padding:5px 5px 0',
		items : [{
			layout : 'column',
			items : [{
				columnWidth : .5,
				layout : 'form',
				items : [segment1, segment2, segment_order, is_valid,formula_tmp1,functionmemo1, 
						{
							xtype : 'hidden',
							name : 'payClassitem.pay_class_id',
							id : 'pay_class_id'
						}, {
							xtype : 'hidden',
							name : 'payClassitem.pay_classitem_id',
							id : 'pay_classitem_id'
						}, {
							xtype : 'textfield',
							fieldLabel : '客户中文名称',
							name : 'company_chincode',
							id : 'company_chincode',
							anchor : '90%',
							readOnly : true,
							value : session_companyName
						}, {
							layout : 'form',
							items : [isTaxCombox]
						}, {
							layout : 'form',
							items : [precisionCombox]
						}, {
							layout : 'form',
							items : [bonusOptionCombox]
						}, {
							layout : 'form',
							items : [payAtMonthCombox]
						}, {
							layout : 'form',
							items : [{
										layout : 'form',
										xtype : 'checkbox',
										fieldLabel : '是否固定项',
										anchor : '90%',
										inputValue : '1',
										name : 'payClassitem.is_fixed',
										id : 'is_fixed'
									}]
						}, {
							layout : 'form',
							xtype : 'checkbox',
							fieldLabel : '是否分段计算',
							anchor : '90%',
							inputValue : '1',
							name : 'payClassitem.is_subsection',
							id : 'is_subsection'
						}, {
							layout : 'form',
							xtype : 'checkbox',
							fieldLabel : '是否显示',
							anchor : '90%',
							inputValue : '1',
							name : 'payClassitem.is_display',
							id : 'is_display'
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										layout : 'form',
										xtype : 'checkbox',
										fieldLabel : '是否时间限制',
										anchor : '90%',
										inputValue : '1',
										name : 'payClassitem.is_limited',
										id : 'is_limited',
										listeners : {
											"check" : function(thiz, checked) {
												if (checked) {
													dateGrid.enable();
												} else {
													dateGrid.disable();
												}
											}
										}
									}, {
										xtype : 'fieldset',
										title : '时间限制',
										autoHeight : true,
										width : 380,
										items : [dateGrid]
									}]
						}]
			}, {
				columnWidth : .5,
				layout : 'form',
				items : [{
					fieldLabel : '<image src="' + basePath
							+ 'images/must.gif"/>薪资项目名称',
					anchor : '90%',
					name : 'payClassitem.name',
					id : 'name',
					emptyText : '请输入薪资项目名称',
					allowBlank : false,
					blankText : '薪资项目不能为空',
					xtype : 'textfield'
				}, {
					layout : 'form',
					items : [isAddCombox]
				}

				, dataComeCombox, {
					layout : 'form',
					xtype : 'button',
					text : ' 公 式 设 定 ',
					disabled : true,
					id : 'gongshi',
					handler : function() {
						var eorderStore = Ext.getCmp('eorderGrid').getStore();
						eorderStore.on('beforeload', function() {
									eorderStore.baseParams = {
										'payClassitem.pay_class_id' : Ext
												.getCmp('AddPayClassItemSearchPanel')
												.findById('pay_class_id')
												.getValue(),
										'payClassitem.pay_classitem_id' : Ext
												.getCmp('AddPayClassItemSearchPanel')
												.findById('pay_classitem_id')
												.getValue()
									}
								});
						eorderStore.reload();
						computingFormulaWin.show();
					}
				}, {
					xtype : 'textfield',
					fieldLabel : '固定值',
					name : 'payClassitem.fixedData',
					id : 'fixedData',
					disabled : true,
					anchor : '90%'
				}, {
					xtype : 'textfield',
					fieldLabel : '其他',
					name : 'payClassitem.other',
					id : 'other',
					anchor : '90%',
					disabled : true
				}, {
					fieldLabel : '上月数据',
					anchor : '90%',
					layout : 'form',
					xtype : 'textfield',
					name : 'payClassitem.lastMonth',
					disabled : true,
					id : 'lastMonth',
					value:''
				}, {
					layout : 'form',
					items : [functiontype]
				}, {
					layout : 'form',
					items : [functionitem]
				}, {
					columnWidth : .5,
					layout : 'form',
					items : [{
								xtype : 'fieldset',
								title : '系统函数',
								autoHeight : true,
								width : 380,
								items : [sysGrid]
							}]
				}]
			}]
		}]
	});

	var win = new Ext.Window({
		closable : true,
		draggable : true,
		region : 'center',
		title : '薪资项编辑',
		width : 820,
		height : 520,
		plain : true,
		items : [AddPayClassItemSearchPanel],
		buttons : [{
			text : '保存并新增',
			id : '_btnSave',
			handler : function() {
				if(dataComeCombox.getValue()==2&&Ext.getCmp('functionmemo1').getValue()==''){
					Ext.Msg.alert('错误', '请选择系统函数！');
					return;
				}
				if(dataComeCombox.getValue()==4&&Ext.getCmp('lastMonth').getValue()==''){
					Ext.Msg.alert('错误', '请输入上月数据！');
					return;
				}
				if(dataComeCombox.getValue()==0&&Ext.getCmp('fixedData').getValue()==''){
					Ext.Msg.alert('错误', '请输入固定值！');
					return;
				}
				// 校验表单合法性
				if (Ext.getCmp('AddPayClassItemSearchPanel').getForm()
						.isValid()) {
					var modified = store.getRange(0, store.getCount()).slice(0);
					var modifiedArray = [];
					Ext.each(modified, function(item) {
								modifiedArray.push(item.data);
							});
					addurl = 'payClazzItemAction.action?actionType=1';
					updurl = 'payClazzItemAction.action?actionType=3&flag=2';
					var _url;
					var paras = {};
					if (updflag != true) {
						_url = addurl;
						paras.modified = Ext.encode(modifiedArray);
						//检查项目名称是否重复开始 luli add begin
						if(!checkItemIsValid()){
							return;
						}
						//检查项目名称是否重复开始 luli add end
					} else {
						_url = updurl;
						paras.modified = Ext.encode(modifiedArray);
						// paras.deleted=Ext.encode(deletedJson);
					}
					Ext.getCmp('AddPayClassItemSearchPanel').getForm().submit({
						url : _url,
						params : paras,
						success : function(from, action) {
							Ext.Msg.alert('提示', '操作失败,失败原因!');
						},
						failure : function(form, action) {
							updflag=false;
							Ext.getCmp('dateGrid').disable();
							Ext.getCmp('AddPayClassItemSearchPanel').getForm().reset();
							Ext.getCmp('AddPayClassItemSearchPanel').findById('pay_class_id').setValue(Ext.getCmp('payClassItemSearchPanel').findById('_pay_class_id').getValue());
							Ext.getCmp('AddPayClassItemSearchPanel').findById("fixedData").disable();
							Ext.getCmp('AddPayClassItemSearchPanel').findById("lastMonth").disable();
							Ext.getCmp('AddPayClassItemSearchPanel').findById("lastMonth").setValue('');
							Ext.getCmp('AddPayClassItemSearchPanel').findById("other").disable();
							Ext.getCmp('AddPayClassItemSearchPanel').findById("other").setValue('');
							Ext.getCmp('AddPayClassItemSearchPanel').findById("functiontype").reset();
							Ext.getCmp('AddPayClassItemSearchPanel').findById("functiontype").disable();
							Ext.getCmp('AddPayClassItemSearchPanel').findById("functionitem").reset();
							Ext.getCmp('AddPayClassItemSearchPanel').findById("functionitem").disable();
							Ext.getCmp('AddPayClassItemSearchPanel').findById('gongshi').disable();
							Ext.getCmp('AddPayClassItemSearchPanel').findById('dateGrid').disable();
							Ext.getCmp('AddPayClassItemSearchPanel').findById('dateGrid').getStore().removeAll();
							Ext.getCmp('AddPayClassItemSearchPanel').findById('sysGrid').disable();
							Ext.getCmp('AddPayClassItemSearchPanel').findById('sysGrid').getStore().removeAll();
							Ext.getCmp('_formula').setValue('');
							buthis=[];
							valuehis=[];
							if(Ext.getCmp('payClassItemSearchPanel').findById('_if_si').getValue()==1){
								Ext.getCmp('AddPayClassItemSearchPanel').findById('month').enable();
								Ext.getCmp('AddPayClassItemSearchPanel').findById('functiontype').getStore().removeAll();
								Ext.getCmp('AddPayClassItemSearchPanel').findById('functiontype').getStore().loadData([['1', '基础类'], ['2', '社保类'], ['3', '薪资类']]);
							}else{
								Ext.getCmp('AddPayClassItemSearchPanel').findById('month').enable();
								Ext.getCmp('AddPayClassItemSearchPanel').findById('functiontype').getStore().removeAll();
								Ext.getCmp('AddPayClassItemSearchPanel').findById('functiontype').getStore().loadData([['1', '基础类'], ['3', '薪资类']]);
							}
						},
						waitMsg : '正在保存数据，稍后...'
					});
				}

			}
		}, {
			text : '保存',
			id : '_btnSave',
			handler : function() {
				if(dataComeCombox.getValue()==2&&Ext.getCmp('functionmemo1').getValue()==''){
					Ext.Msg.alert('错误', '请选择系统函数！');
					return;
				}
				if(dataComeCombox.getValue()==4&&Ext.getCmp('lastMonth').getValue()==''){
					Ext.Msg.alert('错误', '请选择系统函数！');
					return;
				}
				if(dataComeCombox.getValue()==0&&Ext.getCmp('fixedData').getValue()==''){
					Ext.Msg.alert('错误', '请输入固定值！');
					return;
				}
				// 校验表单合法性
				if (Ext.getCmp('AddPayClassItemSearchPanel').getForm()
						.isValid()) {
					var modified = store.getRange(0, store.getCount()).slice(0);
					var modifiedArray = [];
					Ext.each(modified, function(item) {
								modifiedArray.push(item.data);
							});
					addurl = 'payClazzItemAction.action?actionType=1';
					updurl = 'payClazzItemAction.action?actionType=3&flag=2';
					var _url;
					var paras = {};
					if (updflag != true) {
						_url = addurl;
						paras.modified = Ext.encode(modifiedArray);
						//检查项目名称是否重复开始 luli add begin
						if(!checkItemIsValid()){
							return;
						}
						//检查项目名称是否重复开始 luli add end
					} else {
						_url = updurl;
						paras.modified = Ext.encode(modifiedArray);
						// paras.deleted=Ext.encode(deletedJson);
					}
					Ext.getCmp('AddPayClassItemSearchPanel').getForm().submit({
								url : _url,
								params : paras,
								success : function(from, action) {
									Ext.Msg.alert('提示', '操作失败,失败原因!');
								},
								failure : function(form, action) {
									deletedJson = [];
									win.hide();
									payClassItemStore.reload();
								},
								waitMsg : '正在保存数据，稍后...'
							});
				}

			}
		}, {
			text : '取消',
			id : '_btnSearch',
			handler : function() {
				win.hide();
			}
		}],
		listeners : {
			"beforedestroy" : function(obj) {
				return false;
			},
			"beforeshow" : function(obj) {
				return true;
			}
		}
	});

	return win;
};
function checkItemIsValid(){
	var payClassId = $F('pay_class_id');
	var itemName = $F('name');
	var conn = Ext.lib.Ajax.getConnectionObject().conn;
	conn.open("POST", 'payClazzItemAction.action', false);
	conn.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
	conn.send("filter.payItemName=" + itemName + "&filter.payClassId="+payClassId+"&actionType=4&flag=3");
	var responseTextVale = Ext.util.JSON.decode(conn.responseText);
	if (responseTextVale.msg != '0') {
		Ext.Msg.alert("警告", "薪资项目名为：" + itemName+" 已经存在，请重新输入！");
		$('name').value = '';
		return false;
	}else
		return true;
}